package com.xpxrule.strategy.field;

import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.xpxrule.dataobject.base.Range;

import java.util.List;

public class StringFieldTypeStrategy extends FieldTypeStrategy<String>{

    @Override
    String classConvertToString(Object value) {
        if (value == null) {
            return null;
        }
        String convertValue = new String(value.toString());
        return value.toString().isEmpty() ? null : convertValue;
    }

    @Override
    String stringConvertClass(String value) {
        return value == null ? null : String.format("\'%s\'", value);
    }

    @Override
    public String getEnvFieldParamObject(Object singleValue) {
        if (singleValue == null) {
            return null;
        }
        return singleValue.toString();
    }

    @Override
    String convertToDisplayText(String value) {
        if (value == null) {
            return null;
        }
        return value;
    }

    @Override
    String[] getFieldObjectByRangeValue(Range<String> rangeValue) {
        return new String[0];
    }

    @Override
    String getFieldObjectByListValue(List<String> listValue) {
        return null;
    }

//    /**
//     * 字符串长度为0，即认为空串
//     * @param singleValue
//     * @return
//     */
//    @Override
//    String getFieldObjectSingleValue(String singleValue) {
//        if (singleValue == null || singleValue.length() == 0) {
//            return null;
//        }
//        return singleValue;
//    }
//
//    @Override
//    String[] getFieldObjectByRangeValue(Range<String> rangeValue) {
//        return null;
//    }
//
//    @Override
//    String getFieldObjectByListValue(List<String> listValue) {
//        return String.join(" ", listValue);
//    }
}
